'\" te
.\"  Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH HAL 7 "Nov 26, 2017"
.SH NAME
hal \- overview of hardware abstraction layer
.SH DESCRIPTION
.LP
The Hardware Abstraction Layer (HAL) provides a view of the various hardware
attached to a system. This view is updated dynamically as hardware
configuration changes by means of hotplug or other mechanisms. HAL represents a
piece of hardware as a device object. A device object is identified by a unique
identifier and carries a set of key/value pairs, referred to as device
properties. Some properties are derived from the actual hardware, some are
merged from device information files (\fB\&.fdi\fR files), and some are related
to the actual device configuration.
.sp
.LP
HAL provides an easy-to-use API through D-Bus. D-Bus is an IPC framework that,
among other features, provides a system-wide message-bus that allows
applications to talk to one another. Specifically, D-Bus provides asynchronous
notification such that HAL can notify other peers on the message-bus when
devices are added and removed, as well as when properties on a device are
changing.
.sp
.LP
In the Solaris operating system, HAL is supported by a daemon, \fBhald\fR(8),
and a set of utilities that enable the adding and removing of devices and the
modification of their properties.
.SH SEE ALSO
.LP
.BR fdi (5),
.BR hald (8)
.sp
.LP
See the HAL pages, including the HAL specification, under
http://freedesktop.org.
